<!DOCTYPE html>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="target"></div>
<script>

animation_test({
  syntax: "<color>#",
  inherits: false,
  initialValue: "black"
}, {
  keyframes: ["rgb(100, 100, 100), rgb(150, 150, 150)", "rgb(200, 200, 200), rgb(250, 250, 250)"],
  expected: "rgb(150, 150, 150), rgb(200, 200, 200)"
}, 'Animating a custom property of type <color>#');

animation_test({
  syntax: "<color>#",
  inherits: false,
  initialValue: "rgb(100, 100, 100), rgb(150, 150, 150)"
}, {
  keyframes: "rgb(200, 200, 200), rgb(250, 250, 250)",
  expected: "rgb(150, 150, 150), rgb(200, 200, 200)"
}, 'Animating a custom property of type <color># with a single keyframe');

animation_test({
  syntax: "<color>#",
  inherits: false,
  initialValue: "rgb(100, 100, 100), rgb(150, 150, 150)"
}, {
  composite: "add",
  keyframes: ["rgb(25, 25, 25), rgb(50, 50, 50)", "rgb(75, 75, 75), rgb(100, 100, 100)"],
  expected: "rgb(150, 150, 150), rgb(225, 225, 225)"
}, 'Animating a custom property of type <color># with additivity');

animation_test({
  syntax: "<color>#",
  inherits: false,
  initialValue: "rgb(100, 100, 100), rgb(150, 150, 150)"
}, {
  composite: "add",
  keyframes: "rgb(50, 50, 50), rgb(100, 100, 100)",
  expected: "rgb(125, 125, 125), rgb(200, 200, 200)"
}, 'Animating a custom property of type <color># with a single keyframe and additivity');

animation_test({
  syntax: "<color>#",
  inherits: false,
  initialValue: "black"
}, {
  iterationComposite: "accumulate",
  keyframes: ["rgb(0, 0, 0), rgb(0, 0, 0)", "rgb(50, 50, 50), rgb(100, 100, 100)"],
  expected: "rgb(125, 125, 125), rgb(250, 250, 250)"
}, 'Animating a custom property of type <color># with iterationComposite');

discrete_animation_test("<color>#", 'rgb(255, 0, 0), rgb(0, 255, 0)', 'rgb(0, 0, 255)', 'Animating a custom property of type <color># with different lengths is discrete');

</script>
